package com.niiwoo.civet.account.dao.mapper;

import com.niiwoo.civet.account.dao.entity.UserBillBase;
import com.niiwoo.civet.account.dao.entity.UserBillBaseExample;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Author Jaylin
 * @Date 2018-05-21
 * @Description 用户账单mapperExt
 */
public interface UserBillBaseMapperExt extends UserBillBaseMapper{


    /**
     * 查询账单ForUpdate
     * @param userId
     * @param id
     * @return
     */
    UserBillBase queryUserBillBaseByIdForUpdate(@Param("userId") String userId, @Param("id") Long id);

    /**
     * 查询账单列表ForUpdate：根据orderId和orderType
     * @param orderId
     * @param orderType
     * @return
     */
    List<UserBillBase> queryByOrderIdAndTypeForUpdate(@Param("orderId") String orderId, @Param("orderType") Byte orderType);

    /**
     * 根据条件合计账单金额
     * @param userBillBaseExample
     * @return
     */
    BigDecimal sumAmountByExample(UserBillBaseExample userBillBaseExample);

    int countByExample(UserBillBaseExample userBillBaseExample);
}
